package com.easychat.service;


import com.easychat.entity.po.UserInfo;
import com.easychat.entity.query.UserInfoQuery;
import com.easychat.entity.vo.PaginationResultVO;
import com.easychat.entity.vo.UserInfoVO;
import org.springframework.web.multipart.MultipartFile;

import java.io.IOException;
import java.util.List;
import java.util.Map;

public interface UserInfoService {
    List<UserInfo> findListByParam(UserInfoQuery param);
    Integer findCountByParam(UserInfoQuery param);

    /**
     * 根据UserId修改
     */
    Integer updateUserInfoByUserId(UserInfo userInfo, String userId);
    Map<String, String> checkCode();

    void register(String email, String password, String nickName);

    UserInfoVO login(String email, String password);

    UserInfo getUserInfoByUserId(String userId);

    void updateUserInfo(UserInfo userInfo, MultipartFile avatarFile, MultipartFile avatarCover) throws IOException;

    PaginationResultVO findListByPage(UserInfoQuery userInfoQuery);

    void updateUserStatus(Integer status,String userId);
    void forceOffLine(String userId);
}
